package object;

//默认自动引入的是java.lang.*  不引入子包中的类
import java.lang.*;

// 每个没有继承父类的类，默认都继承自Object，每个类不是直接就是间接继承了Object


public class Test {
	public static void main(String[] args) {
		Object obj = new Object();
		Object obj2 = new Object();
		
		//java只有值传递,基本类型是值传递，引用类型也是值传递（引用类型保存对象地址）
		Object obj3 = obj;
		System.out.println(obj);
		System.out.println(obj2);
		System.out.println(obj3);
		System.out.println(obj.equals(obj2)); // obj == obj2
		System.out.println(obj.equals(obj3)); // 地址相同指向同一个对象
		
		// 单纯理解hashCode()就是对象地址
		System.out.println(obj.hashCode()); //哈希码 366712642
		System.out.println(obj2.hashCode()); //哈希码 366712642 int值
		System.out.println(obj3.hashCode()); //哈希码 366712642
		
		// 把对象转成字符串 java.lang.Object@15db9742
		// toString() 类的全路径.类名@16进制的hashCode()
		System.out.println(obj.toString()); 
		System.out.println(obj);
	}
}
